package com.nutrition.health.service;

import com.nutrition.health.model.UserHealthProfile;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;

import java.util.Map;

/**
 * DeepSeek AI 服务接口
 * 处理与 DeepSeek API 的交互
 */
public interface DeepSeekAIService {
    
    /**
     * 根据用户健康档案生成健康建议
     * @param profile 用户健康档案
     * @param emitter SSE发射器，用于流式返回结果
     */
    void generateHealthAdvice(UserHealthProfile profile, SseEmitter emitter);
    
    /**
     * 根据用户健康档案和食品分析结果生成食用建议
     * @param profile 用户健康档案
     * @param foodAnalysisResult 食品分析结果
     * @param customPrompt 自定义提示词（可选）
     * @param emitter SSE发射器，用于流式返回结果
     */
    void generateFoodHealthAdvice(UserHealthProfile profile, Map<String, Object> foodAnalysisResult, String customPrompt, SseEmitter emitter);
    
    /**
     * 计算食物的营养成分
     * @param foodName 食物名称
     * @param amount 食物数量（克）
     * @return 营养成分信息，包含卡路里、蛋白质、碳水、脂肪等
     */
    Map<String, Double> calculateNutrition(String foodName, Double amount);
}